#import <UIKit/UIKit.h>
#import "MRViewController.h"

/*===================================================================
 说明:
	页面协议
 ==================================================================*/
@protocol MRPageDelegate <NSObject>
@optional
//@property (nonatomic, copy) NSString	*pageTitle;	//选择器项目页标题（若为nil则使用 navigationItem.title

- (void)pageWillShow;
- (void)pageWillHide;

- (void)didScrollOffset:(CGFloat)offset;			//页面控制器滚动中，offset当前页面中心与控制器中心的X偏移

@end

/*===================================================================
 说明:
	页面控制器(CollectionViewCell 的Identifier必须为 cell)
 ==================================================================*/
@interface MRPageController : MRViewController <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
{
	BOOL			_animated;
	NSInteger		_lastPage;
	UIView			*_viewBar;
	
	NSInteger		_leftItemsCount, _rightItemsCount;
}

@property (nonatomic) NSInteger					pageCount;		//页面总数，默认会自动识别
@property (nonatomic, readonly) NSInteger		currentPage;	//当前选择页面索引

@property (nonatomic, weak) IBOutlet UIView		*selectView;	//选择视图，UINavigationBar->UIToolBar->UISegmentControl

@property (nonatomic, readonly) NSMutableArray <__kindof UIButton *>	*buttons;		//自动检测到的选择视图按钮集

@property (nonatomic, readonly) UICollectionView	*collectionView;
@property (nonatomic, readonly) UIViewController <MRPageDelegate>		*viewController;	//当前显示的控制器

- (void)showNavigationItemWithAnimated:(BOOL)animated;			//显示导航栏

- (void)selectPage:(NSInteger)page animated:(BOOL)animated;
- (void)didSelectPage:(NSInteger)page animated:(BOOL)animated;			//已完成选择页面（子类重载）

@end
